yányào.com

Mastodon

Posted at — May 15, 2020

Mastodon 长毛象1 – 基于 rubyonrails/reactjs/nodejs 开发的分布式 & 去中心化 twiter clone。利用空闲时间在 aws lightsail 上开了个实例把服务跑了起来

一开始走了些弯路,因为选机房和省钱的缘故,重建了若干次操作系统,最后的选择是 tokyo+cloudflare,没错我又套了 cdn,实在是海外线路到北京联通不稳定

安装步骤没有使用 docker 而是参考文档从源码安装2,原因和解决方案如下:

# create swapfile <https://linuxize.com/post/create-a-linux-swap-file/>
$ sudo fallocate -l 2G /swapfile
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile

# verify active
$ sudo swapon --show
# optional: low value is better for production
$ sudo sysctl vm.swappiness=10

邮件配置

# By default the memory limit in Node. js is 512 mb, 
# use command —- max-old-space-size to increase the memory limit
$ NODE_OPTIONS="--max-old-space-size=4096" RAILS_ENV=production bundle exec rails assets:precompile

直接配置 localhost 发送邮件无效,先用 sendgrid 免费版顶着, 一天 100 封邮件目前够用

迁移机器后重建 feed

postgresql/redis 都换到了新机器, 之前因为 sidekiq 占用资源过多清理过 redis 数据, 相关 timeline 全都空了, 需要重建

RAILS_ENV=production ./bin/tootctl feeds build

  1. https://github.com/tootsuite/mastodon ↩︎

  2. https://github.com/tootsuite/documentation/blob/master/content/en/admin/install.md ↩︎